/* 封装axios用于发送请求 */
import axios from 'axios'
import { Toast } from 'vant'

// 创建一个新的axios实例
const request = axios.create({
  baseURL: 'http://127.0.0.1:4523/m1/3371331-0-default/',
  timeout: 4000,
})

// 添加请求拦截器
request.interceptors.request.use(function (config) {
  // 在发送请求之前做些什么
  Toast.loading({
    msg: '请求中...',
    forbidClick: true,
    loadingType: 'spinner',
    duration: 0
  })
  // console.log(config.url);
    // 根据请求的不同设置不同的请求头
    if(config.url.startsWith('/staff/window') || config.url.startsWith('/staff/dishIsshoucang') || config.url.startsWith('/staff/register') ){
      config.headers['Content-Type'] = 'application/json'
    }else if (config.url.startsWith('/user/upload') || config.url.startsWith('/post') || config.url.startsWith('/staff')   ) {
      config.headers['Content-Type'] = 'multipart/form-data'
    } else {
      config.headers['Content-Type'] = 'application/json'
    }
 
  return config
}, function (error) {
  // 对请求错误做些什么
  return Promise.reject(error)
})

// 添加响应拦截器
request.interceptors.response.use(function (response) {
  const res = response.data
  // console.log(res);
  // if (res.code !== 200) {
  //   console.log('222222',res.msg);
  //   Toast(res.msg)
  //   return Promise.reject(res.msg)
  // } else {
  //   // 清除 loading 中的效果
    Toast.clear()
  // }
  // 对响应数据处理
  return res
}, function (error) {
  // 对响应错误处理
  return Promise.reject(error)
})

export default request